﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using System.Windows.Navigation;
using SilverlightOracle.WCFService;
using System.Text.RegularExpressions;

namespace SilverlightOracle
{
    public partial class QuantriCapNhat : Page
    {
        ServiceClient webservice = new ServiceClient();
        public QuantriCapNhat()
        {
            InitializeComponent();
            dgView.Visibility = Visibility.Collapsed;
            dgViewThiSinh.Visibility = Visibility.Collapsed;
        }

        // Executes when the user navigates to this page.
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
        }

        private void button1_Click(object sender, RoutedEventArgs e)
        {
            if (!Validate()) return;
            else
            {
                if (radioButton1.IsChecked == true)
                {
                    webservice.ShowLichSuTruongCompleted += new EventHandler<ShowLichSuTruongCompletedEventArgs>(webservice_ShowLichSuTruongCompleted);
                    webservice.ShowLichSuTruongAsync(textBox1.Text);
                }
                if (radioButton2.IsChecked == true)
                {
                    webservice.ShowLichSuThiSinhCompleted += new EventHandler<ShowLichSuThiSinhCompletedEventArgs>(webservice_ShowLichSuThiSinhCompleted);
                    webservice.ShowLichSuThiSinhAsync(textBox1.Text);
                }
            }
            

        }

        void webservice_ShowLichSuThiSinhCompleted(object sender, ShowLichSuThiSinhCompletedEventArgs e)
        {
            if (e.Result.Count > 0)
            {
                label1.Content = "";
                dgViewThiSinh.ItemsSource = e.Result;
                dgView.Visibility = Visibility.Collapsed;
                dgViewThiSinh.Visibility = Visibility.Visible;
            }
            else
            {
                label1.Content = "Không tìm thấy dữ liệu thí sinh . Mã thí sinh gồm cả phần chữ và phần số ";
            }
        }

        void webservice_ShowLichSuTruongCompleted(object sender, ShowLichSuTruongCompletedEventArgs e)
        {
            if (e.Result.Count != 0)
            {
                label1.Content = "";
                dgView.ItemsSource = e.Result;
                dgViewThiSinh.Visibility = Visibility.Collapsed;
                dgView.Visibility = Visibility.Visible;
            }
            else
            {
                label1.Content = "Không tìm thấy dữ liệu trường. Yêu cầu kiểm tra lại từ khóa ";
            }
        }
        bool Validate()
        {
            if (radioButton1.IsChecked == true)
            {
                if (!Regex.IsMatch(textBox1.Text, @"^[a-zA-Z''-'\s]{1,100}$"))
                {
                    label1.Content = "Mã trường gồm chữ không dấu !";
                    textBox1.Focus();
                    return false;
                }
                
            }
            if (radioButton2.IsChecked == true)
            {
                if (!Regex.IsMatch(textBox1.Text, @"^[a-zA-Z0-9''-'\s]{1,100}$"))
                {
                    label1.Content = "Mã số thí sinh gồm số và chữ không dấu !";
                    textBox1.Focus();
                    return false;
                }
            }
            return true;
        }

    }
}
